API: gdk: Remove gdk_window_set_override_redirect()
authorBenjamin Otte <otte@redhat.com>
Fri, 4 Nov 2016 01:37:11 +0000 (02:37 +0100)
committerBenjamin Otte <otte@redhat.com>
Sat, 5 Nov 2016 02:32:27 +0000 (03:32 +0100)
When you want an override-redirect window, you create it that way.
Changing that behavior is not supported anywhere (but on X of course).

docs/reference/gdk/gdk4-sections.txt
gdk/broadway/gdkwindow-broadway.c
gdk/gdkwindow.c
gdk/gdkwindow.h
gdk/gdkwindowimpl.h
gdk/mir/gdkmirwindowimpl.c
gdk/quartz/gdkwindow-quartz.c
gdk/wayland/gdkwindow-wayland.c
gdk/win32/gdkwindow-win32.c
gdk/win32/gdkwindow-win32.h
gdk/x11/gdkwindow-x11.c

index 7f86bfe14ca5dee1642c15d61b0791ea4f9ce5c8..0441f3f8b4ffd84a4aac6ac81d0e8cbae6a8714e 100644 (file)
@@ -358,7 +358,6 @@ gdk_window_get_frame_clock
 
 <SUBSECTION>
 gdk_window_set_user_data
-gdk_window_set_override_redirect
 gdk_window_set_accept_focus
 gdk_window_get_accept_focus
 gdk_window_set_focus_on_map
index 6fb030038bfe85d165a9f723f30e9d3059e57238..28e57336e063f1b8c0d1d13b5e77b4ff36163526 100644 (file)
@@ -785,13 +785,6 @@ gdk_window_broadway_input_shape_combine_region (GdkWindow       *window,
 {
 }
 
-
-static void
-gdk_broadway_window_set_override_redirect (GdkWindow *window,
-                                          gboolean override_redirect)
-{
-}
-
 static void
 gdk_broadway_window_set_accept_focus (GdkWindow *window,
                                      gboolean accept_focus)
@@ -1580,7 +1573,6 @@ gdk_window_impl_broadway_class_init (GdkWindowImplBroadwayClass *klass)
   impl_class->set_startup_id = gdk_broadway_window_set_startup_id;
   impl_class->set_transient_for = gdk_broadway_window_set_transient_for;
   impl_class->get_frame_extents = gdk_broadway_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_broadway_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_broadway_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_broadway_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_broadway_window_set_icon_list;
index e53d3a75b1d6235555d3badc4ed9f24e8700dfc1..3c57b1071b4e234f2bf8f9637441c034b77e3561 100644 (file)
@@ -9144,9 +9144,8 @@ gdk_window_set_urgency_hint (GdkWindow *window,
  * gdk_window_move_resize().
  *
  * Note that on X11, this effect has no effect on windows
- * of type %GDK_WINDOW_TEMP or windows where override redirect
- * has been turned on via gdk_window_set_override_redirect()
- * since these windows are not resizable by the user.
+ * of type %GDK_WINDOW_TEMP since these windows are not resizable
+ * by the user.
  *
  * Since you can’t count on the windowing system doing the
  * constraints for programmatic resizes, you should generally
@@ -9292,28 +9291,6 @@ gdk_window_get_frame_extents (GdkWindow    *window,
   GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_frame_extents (window, rect);
 }
 
-/**
- * gdk_window_set_override_redirect:
- * @window: a toplevel #GdkWindow
- * @override_redirect: %TRUE if window should be override redirect
- *
- * An override redirect window is not under the control of the window manager.
- * This means it won’t have a titlebar, won’t be minimizable, etc. - it will
- * be entirely under the control of the application. The window manager
- * can’t see the override redirect window at all.
- *
- * Override redirect should only be used for short-lived temporary
- * windows, such as popup menus. #GtkMenu uses an override redirect
- * window in its implementation, for example.
- *
- **/
-void
-gdk_window_set_override_redirect (GdkWindow *window,
-                                 gboolean override_redirect)
-{
-  GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_override_redirect (window, override_redirect);
-}
-
 /**
  * gdk_window_set_accept_focus:
  * @window: a toplevel #GdkWindow
index 08d7338e00df05a26378b2a76f24acb2ea522acc..9d4535b62edee9aca77e9b3770e846fe54a7f097 100644 (file)
@@ -538,9 +538,6 @@ GDK_AVAILABLE_IN_ALL
 void          gdk_window_set_user_data         (GdkWindow     *window,
                                                 gpointer       user_data);
 GDK_AVAILABLE_IN_ALL
-void          gdk_window_set_override_redirect (GdkWindow     *window,
-                                                gboolean       override_redirect);
-GDK_AVAILABLE_IN_ALL
 gboolean      gdk_window_get_accept_focus      (GdkWindow     *window);
 GDK_AVAILABLE_IN_ALL
 void          gdk_window_set_accept_focus      (GdkWindow     *window,
index 2ebf434ed7924e44dd3fbff76a9d65b72700b919..680997d3457f84dc0f80d1712134ce0544ae822c 100644 (file)
@@ -186,8 +186,6 @@ struct _GdkWindowImplClass
                                         GdkWindow *parent);
   void         (* get_frame_extents)    (GdkWindow    *window,
                                         GdkRectangle *rect);
-  void         (* set_override_redirect) (GdkWindow *window,
-                                         gboolean override_redirect);
   void         (* set_accept_focus)     (GdkWindow *window,
                                         gboolean accept_focus);
   void         (* set_focus_on_map)     (GdkWindow *window,
index 03dd4df3776ffd60b8d19856732943bfba0d747b..48ae34d3f983d421bcabdb1a81156c37b22d2fde 100644 (file)
@@ -1174,13 +1174,6 @@ gdk_mir_window_impl_get_frame_extents (GdkWindow    *window,
   //g_printerr ("gdk_mir_window_impl_get_frame_extents window=%p\n", window);
 }
 
-static void
-gdk_mir_window_impl_set_override_redirect (GdkWindow *window,
-                                           gboolean   override_redirect)
-{
-  //g_printerr ("gdk_mir_window_impl_set_override_redirect window=%p\n", window);
-}
-
 static void
 gdk_mir_window_impl_set_accept_focus (GdkWindow *window,
                                       gboolean   accept_focus)
@@ -1805,7 +1798,6 @@ gdk_mir_window_impl_class_init (GdkMirWindowImplClass *klass)
   impl_class->set_startup_id = gdk_mir_window_impl_set_startup_id;
   impl_class->set_transient_for = gdk_mir_window_impl_set_transient_for;
   impl_class->get_frame_extents = gdk_mir_window_impl_get_frame_extents;
-  impl_class->set_override_redirect = gdk_mir_window_impl_set_override_redirect;
   impl_class->set_accept_focus = gdk_mir_window_impl_set_accept_focus;
   impl_class->set_focus_on_map = gdk_mir_window_impl_set_focus_on_map;
   impl_class->set_icon_list = gdk_mir_window_impl_set_icon_list;
index 6bdc1fa25de7f7490e321fcc9866df2b5274d7e4..c5f536742ede5b8f5f6e04894edc9a1d6264dc38 100644 (file)
@@ -1966,13 +1966,6 @@ gdk_window_quartz_input_shape_combine_region (GdkWindow       *window,
   /* FIXME: Implement */
 }
 
-static void
-gdk_quartz_window_set_override_redirect (GdkWindow *window,
-                                         gboolean override_redirect)
-{
-  /* FIXME: Implement */
-}
-
 static void
 gdk_quartz_window_set_accept_focus (GdkWindow *window,
                                     gboolean accept_focus)
@@ -2893,7 +2886,6 @@ gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass)
   impl_class->set_startup_id = gdk_quartz_window_set_startup_id;
   impl_class->set_transient_for = gdk_quartz_window_set_transient_for;
   impl_class->get_frame_extents = gdk_quartz_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_quartz_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_quartz_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_quartz_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_quartz_window_set_icon_list;
index c6c52a71b9415ddd228f2e5addc94c8b9f6bbfb0..08af04c9b8dafd4977dae75f844569ae6e194c95 100644 (file)
@@ -3102,12 +3102,6 @@ gdk_wayland_window_get_frame_extents (GdkWindow    *window,
   };
 }
 
-static void
-gdk_wayland_window_set_override_redirect (GdkWindow *window,
-                                          gboolean   override_redirect)
-{
-}
-
 static void
 gdk_wayland_window_set_accept_focus (GdkWindow *window,
                                      gboolean   accept_focus)
@@ -3627,7 +3621,6 @@ _gdk_window_impl_wayland_class_init (GdkWindowImplWaylandClass *klass)
   impl_class->set_startup_id = gdk_wayland_window_set_startup_id;
   impl_class->set_transient_for = gdk_wayland_window_set_transient_for;
   impl_class->get_frame_extents = gdk_wayland_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_wayland_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_wayland_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_wayland_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_wayland_window_set_icon_list;
index 9069b4c3061328ce48532338b56119d6eb350683..bfd9c21f5245456169fffe8102f97c29ed54390e 100644 (file)
@@ -702,7 +702,6 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display,
   GdkWin32Display *display_win32;
   const gchar *title;
   wchar_t *wtitle;
-  gboolean override_redirect;
   gint window_width, window_height;
   gint offset_x = 0, offset_y = 0;
   gint x, y, real_x = 0, real_y = 0;
@@ -732,16 +731,10 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display,
       g_assert (attributes->y == window->y);
       remaining_mask &= ~GDK_WA_Y;
     }
-  override_redirect = FALSE;
-  if ((attributes_mask & GDK_WA_NOREDIR) != 0)
-    {
-      override_redirect = !!attributes->override_redirect;
-      remaining_mask &= ~GDK_WA_NOREDIR;
-    }
 
-  if ((remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
+  if ((remaining_mask & ~(GDK_WA_NOREDIR|GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
     g_warning ("_gdk_window_impl_new: uexpected attribute 0x%X",
-               remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT));
+               remaining_mask & ~(GDK_WA_NOREDIR|GDK_WA_TITLE|GDK_WA_TYPE_HINT));
 
   hparent = GDK_WINDOW_HWND (real_parent);
 
@@ -749,7 +742,6 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display,
   impl->wrapper = GDK_WINDOW (window);
   window->impl = GDK_WINDOW_IMPL (impl);
 
-  impl->override_redirect = override_redirect;
   impl->layered = FALSE;
   impl->layered_opacity = 1.0;
 
@@ -1261,8 +1253,7 @@ show_window_internal (GdkWindow *window,
   window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
   if (!already_mapped &&
       GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL &&
-      (window_impl->hint_flags & (GDK_HINT_POS | GDK_HINT_USER_POS)) == 0 &&
-      !window_impl->override_redirect)
+      (window_impl->hint_flags & (GDK_HINT_POS | GDK_HINT_USER_POS)) == 0)
     {
       gboolean center = FALSE;
       RECT window_rect, center_on_rect;
@@ -1322,8 +1313,7 @@ show_window_internal (GdkWindow *window,
     }
 
   if (!already_mapped &&
-      GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL &&
-      !window_impl->override_redirect)
+      GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
     {
       /* Ensure new windows are fully onscreen */
       RECT window_rect;
@@ -2466,19 +2456,6 @@ do_shape_combine_region (GdkWindow *window,
   SetWindowRgn (GDK_WINDOW_HWND (window), hrgn, TRUE);
 }
 
-static void
-gdk_win32_window_set_override_redirect (GdkWindow *window,
-                                 gboolean   override_redirect)
-{
-  GdkWindowImplWin32 *window_impl;
-
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
-
-  window_impl->override_redirect = !!override_redirect;
-}
-
 static void
 gdk_win32_window_set_accept_focus (GdkWindow *window,
                             gboolean accept_focus)
@@ -6128,7 +6105,6 @@ gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass)
   //impl_class->set_startup_id = gdk_x11_window_set_startup_id;
   impl_class->set_transient_for = gdk_win32_window_set_transient_for;
   impl_class->get_frame_extents = gdk_win32_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_win32_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_win32_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_win32_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_win32_window_set_icon_list;
index de18c451416c46b4dc066da0274866f18ebc5600..6e5f3d8405aa4b64fd4b69783aec914ffaac83e7 100644 (file)
@@ -273,7 +273,6 @@ struct _GdkWindowImplWin32
   guint zero_margins : 1;
   guint no_bg : 1;
   guint inhibit_configure : 1;
-  guint override_redirect : 1;
 
   /* Set to TRUE if window is using true layered mode adjustments
    * via UpdateLayeredWindow().
index 19f8bcf388017d7068d47513cb8918b8f67239e3..981405da69a6536915d645013105a7592869ec91 100644 (file)
@@ -3148,28 +3148,6 @@ gdk_window_x11_input_shape_combine_region (GdkWindow       *window,
 #endif
 }
 
-
-static void
-gdk_x11_window_set_override_redirect (GdkWindow *window,
-                                 gboolean override_redirect)
-{
-  XSetWindowAttributes attr;
-  
-  if (!GDK_WINDOW_DESTROYED (window) &&
-      WINDOW_IS_TOPLEVEL_OR_FOREIGN (window))
-    {
-      GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (window->impl);
-
-      attr.override_redirect = (override_redirect? True : False);
-      XChangeWindowAttributes (GDK_WINDOW_XDISPLAY (window),
-                              GDK_WINDOW_XID (window),
-                              CWOverrideRedirect,
-                              &attr);
-
-      impl->override_redirect = attr.override_redirect;
-    }
-}
-
 static void
 gdk_x11_window_set_accept_focus (GdkWindow *window,
                                 gboolean accept_focus)
@@ -5419,7 +5397,6 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
   impl_class->set_startup_id = gdk_x11_window_set_startup_id;
   impl_class->set_transient_for = gdk_x11_window_set_transient_for;
   impl_class->get_frame_extents = gdk_x11_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_x11_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_x11_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_x11_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_x11_window_set_icon_list;